
#ifndef RESEARCH_UPGRADE_H_
#define RESEARCH_UPGRADE_H_

#include  "Behavior.h"
#include <BWAPI.h>

class ResearchUpgrade : public Behavior
{
public:
	ResearchUpgrade(BWAPI::UpgradeType typ, std::string incName = "ResearchUpgrade") :	Behavior(incName),
																						upgradeLevel(0),
																						type(typ),
																						upgrader(NULL)
	{ }
	
	void Enter();
	void Execute();
	void Exit();

	bool CheckConditions();

private:
	int upgradeLevel;
	BWAPI::Unit* upgrader;
	BWAPI::UpgradeType type;
};

#endif
